library(readr)
library(dplyr)
library(ggplot2)
library(plotly)
library(usmap)

final_data_2021 <- read_csv("/home/ashish/data-visualization-lab/Air_Quality_Project/data/final_data_merge_2021.csv", show_col_types = FALSE)
final_data_2021 <- final_data_2021 %>% rename(state=state_id)
aqi_2021 <- read_csv("/home/ashish/data-visualization-lab/Air_Quality_Project/data/US_AQI_2021.csv")


final_data_2021$hover <- with(final_data_2021, paste("State Name:", state_name, '<br>', "Average AQI:", round(average_aqi, digits = 2), '<br>', "Latitude:", round(lat, digits = 2), "<br>", "Longitude:", round(long, digits = 2)))
# give state boundaries a white border
l <- list(color = toRGB("white"), width = 2)
# specify some map projection/options
g <- list(
  scope = 'usa',
  projection = list(type = 'albers usa'),
  showlakes = TRUE,
  lakecolor = toRGB('white')
)

map_fig <- plot_geo(final_data_2021, locationmode = 'USA-states')
map_fig <- map_fig %>% add_trace(
    z = ~average_aqi, text = ~hover, locations = ~state,
    color = ~average_aqi, colorscale="Viridis"
  )
map_fig <- map_fig %>% colorbar(title = "Air Quality Values")
map_fig <- map_fig %>% layout(
    title = 'Average Air Quality Index in the USA in different States<br>(Data recordings based on 2021)',
    geo = g
  )
map_fig